package cn.tiger.pojo.domain;

import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

import jakarta.persistence.*;
import java.time.LocalDateTime;

/**
 * 对话实体类
 * 
 * 对应数据库表conversation，存储AI对话会话的基本信息
 * 使用JPA注解进行对象关系映射，支持对话管理、历史记录等功能
 * 与用户表和消息表存在关联关系
 * 
 * @author AI Backend Team
 * @version 1.0
 * @since 2025-09-26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "conversation")
public class Conversation {
    /**
     * 对话唯一标识
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 所属用户ID（外键）
     */
    @Column(name = "user_id", nullable = false)
    private Long userId;

    /**
     * 对话标题
     */
    @Column(name = "title", length = 200)
    private String title;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private LocalDateTime createTime;

    /**
     * 最后更新时间
     */
    @Column(name = "update_time")
    private LocalDateTime updateTime;

    /**
     * 状态（1-正常，2-归档，0-删除）
     */
    @Column(name = "status")
    private Byte status;

    /**
     * 对话上下文摘要
     */
    @Column(name = "context", columnDefinition = "TEXT")
    private String context;
}